//=============================================================================
//
// file :        PCITOR48.h
//
// description : Include for the PCITOR48 class.
//
// project :	lgm
//
// $Author: raph $
//
// $Revision: 1.1.1.1 $
//
// $Log: PCITOR48.h,v $
// Revision 1.1.1.1  2002/05/15 10:05:03  raph
// initial cvs import
//
//
// copyleft :    European Synchrotron Radiation Facility
//               BP 220, Grenoble 38043
//               FRANCE
//
//=============================================================================
//
//  		This file is generated by POGO
//	(Program Obviously used to Generate tango Object)
//
//         (c) - Software Engineering Group - ESRF
//=============================================================================
#ifndef _PCITOR48_H
#define _PCITOR48_H

#include <tango.h>
//using namespace Tango;

/**
 * @author	$Author: raph $
 * @version	$Revision: 1.1.1.1 $ $
 */

 //	Add your own constants definitions here.
 //-----------------------------------------------


namespace PCITOR48
{

/**
 * Class Description:
 * digimetrie 48 I/O PCI card
 */

/*
 *	Device States Description:
 */


class PCITOR48: public Tango::DeviceImpl
{
public :
	//	Add your own data members here
	//-----------------------------------------


	//	Here is the Start of the automatic code generation part
	//-------------------------------------------------------------	
/**
 *	@name attributes
 *	Attributs member data.
 */
//@{
//@}

/**
 *	@name Device properties
 *	Device properties member data.
 */
//@{
//@}

/**@name Constructors
 * Miscellaneous constructors */
//@{
/**
 * Constructs a newly allocated Command object.
 *
 *	@param cl	Class.
 *	@param s 	Device Name
 */
	PCITOR48(Tango::DeviceClass *,string &);
/**
 * Constructs a newly allocated Command object.
 *
 *	@param cl	Class.
 *	@param s 	Device Name
 */
	PCITOR48(Tango::DeviceClass *,const char *);
/**
 * Constructs a newly allocated Command object.
 *
 *	@param cl	Class.
 *	@param s 	Device name
 *	@param d	Device description.
 */
	PCITOR48(Tango::DeviceClass *,const char *,const char *);
//@}

/**@name Destructor
 * Only one desctructor is defined for this class */
//@{
/**
 * The object desctructor.
 */	
	~PCITOR48() {};
//@}

	
/**@name Miscellaneous methods */
//@{
/**
 *	Initialize the device
 */
	virtual void init_device();
/**
 *	Always executed method befor execution command method.
 */
	virtual void always_executed_hook();

//@}

/**
 * @name PCITOR48 methods prototypes
 */

//@{
/**
 * 24 bits write
 *	@param	argin	data for Port A,B,C
 *	@exception DevFailed
 */
	void	dev_write(Tango::DevLong);
/**
 * 8 bits read
 *	@param	argin	port number 0 1 2
 *	@return	port value 0 ON 1 OFF
 *	@exception DevFailed
 */
	Tango::DevShort	dev_read(Tango::DevShort);

/**
 *	Read the device properties from database
 */
	 void get_device_property();
//@}

	//	Here is the end of the automatic code generation part
	//-------------------------------------------------------------	



protected :	
	//	Add your own data members here
	//-----------------------------------------
};

}	// namespace

#endif	// _PCITOR48_H
